// authMiddleware.js

const jwt = require('jsonwebtoken')
const { sendResponse } = require('./sendResponse.js')
const secretKey = 'your-secret-key' // 与生成 token 时使用的密钥一致

const authenticateToken = (req, res, next) => {
  const token = req.headers['authorization']

  if (!token) {
    return sendResponse(res, 401, {}, '未提供 token。')
  }

  jwt.verify(token, secretKey, (err, user) => {
    if (err) {
      return sendResponse(res, 403, {}, '无效的 token。')
    }

    req.user = user // 在请求对象中附加用户信息
    next()
  })
}

module.exports = authenticateToken
